package com.yhh.college_information_platform.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 资料上传DTO
 *
 * @author yhh
 * @date 2025-10-25
 */
@Data
public class ResourceUploadDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 资料标题
     */
    @NotBlank(message = "资料标题不能为空")
    private String title;

    /**
     * 资料描述/简介
     */
    private String description;

    /**
     * 分类ID
     */
    @NotNull(message = "分类不能为空")
    private Long categoryId;

    /**
     * 标签，多个标签用逗号分隔
     */
    private String tags;

    /**
     * 文件URL（前端先上传文件获取URL，然后提交表单）
     */
    @NotBlank(message = "文件不能为空")
    private String fileUrl;

    /**
     * 原始文件名
     */
    @NotBlank(message = "文件名不能为空")
    private String fileName;

    /**
     * 文件大小（字节）
     */
    @NotNull(message = "文件大小不能为空")
    private Long fileSize;

    /**
     * 文件类型（扩展名）
     */
    @NotBlank(message = "文件类型不能为空")
    private String fileType;

    /**
     * 封面图URL（可选）
     */
    private String coverUrl;
}

